#include<iostream>
#include<string>
#include<stdlib.h>
#include<vector>
using namespace std;
void get_num(string & n1,vector<int>&n2)
{
    for(int i = 0;i < n1.size();i++)
    {
        n2.push_back(n1[i] - '0');
    }
}
vector<int> add_mem(vector<int>&n1,vector<int>& n2)
{
    int carry = 0;//进位数字
    //定义答案数组
    vector<int>c;
    //判断长短
    if(n1.size() < n2.size())
    {
        //如果长短反过来了就将参数反过来传
        return add_mem(n1,n2);
    } 
    for(int i = 0;i < n1.size();i++)
    {
        carry = carry + n1[i] ;
        if(i < n2.size())
        {
            carry += n2[i];
        }
        c.push_back(carry % 10);
        carry /= 10;
    }
    if(carry) c.push_back(carry);
    return c;
}
int main()
{
    string add_mem1;
    string add_mem2;
    cin >> add_mem1 >> add_mem2;
    //对数据进行处理
    vector<int>n1;
    vector<int>n2;
    get_num(add_mem1,n1);
    get_num(add_mem2,n2);
    vector<int>c = add_mem(n1,n2);
  
    return 0;

}